From: Ivan Molodetskikh Date: Sat, 12 Feb 2022 07:21:37 +0000 (+0300) Subject: screenshot: Connect shot/cast toggle with bind_property X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~530^2^2~50 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=6d3dd232ad1118ad477fd95a121cabbb0d66ffd4;p=gnome-shell.git screenshot: Connect shot/cast toggle with bind_property This way we don't need to uncheck the other button manually, and it also allows switching the mode by setting the other button's checked to false, and not just by setting the target mode's button to true. An example clean-up can be seen in the "V" key handler. Part-of: --- diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js index cc81490c9..3740975b1 100644 --- a/js/ui/screenshot.js +++ b/js/ui/screenshot.js @@ -1212,6 +1212,9 @@ var ScreenshotUI = GObject.registerClass({ this._onCastButtonToggled.bind(this)); this._shotCastContainer.add_child(this._castButton); + this._shotButton.bind_property('checked', this._castButton, 'checked', + GObject.BindingFlags.BIDIRECTIONAL | GObject.BindingFlags.INVERT_BOOLEAN); + this._shotCastTooltip = new Tooltip(this._shotCastContainer, { text: _('Screenshot / Screencast'), style_class: 'screenshot-ui-tooltip', @@ -1638,7 +1641,6 @@ var ScreenshotUI = GObject.registerClass({ _onShotButtonToggled() { if (this._shotButton.checked) { this._shotButton.toggle_mode = false; - this._castButton.checked = false; this._stageScreenshotContainer.show(); this._stageScreenshotContainer.remove_all_transitions(); @@ -1655,7 +1657,6 @@ var ScreenshotUI = GObject.registerClass({ _onCastButtonToggled() { if (this._castButton.checked) { this._castButton.toggle_mode = false; - this._shotButton.checked = false; this._captureButton.add_style_pseudo_class('cast'); @@ -1966,11 +1967,7 @@ var ScreenshotUI = GObject.registerClass({ } if (symbol === Clutter.KEY_v || symbol === Clutter.KEY_V) { - if (this._shotButton.checked) - this._castButton.checked = true; - else - this._shotButton.checked = true; - + this._castButton.checked = !this._castButton.checked; return Clutter.EVENT_STOP; }